home *** CD-ROM | disk | FTP | other *** search
Wrap
tttt____ooooppppttttmmmmggggmmmmtttt((((3333NNNN)))) tttt____ooooppppttttmmmmggggmmmmtttt((((3333NNNN)))) NNNNAAAAMMMMEEEE _tttt______oooo_pppp_tttt_mmmm_gggg_mmmm_tttt - manage options for a transport endpoint SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS _####_iiii_ffff_dddd_eeee_ffff ______XXXX_OOOO_PPPP_EEEE_NNNN______SSSS_OOOO_UUUU_RRRR_CCCC_EEEE _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_xxxx_tttt_iiii_...._hhhh_>>>> _####_eeee_llll_ssss_eeee _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_tttt_iiii_uuuu_ssss_eeee_rrrr_...._hhhh_>>>> _####_eeee_nnnn_dddd_iiii_ffff _iiii_nnnn_tttt _tttt______oooo_pppp_tttt_mmmm_gggg_mmmm_tttt _((((_iiii_nnnn_tttt _ffff_dddd_,,,, _ssss_tttt_rrrr_uuuu_cccc_tttt _tttt______oooo_pppp_tttt_mmmm_gggg_mmmm_tttt _****_rrrr_eeee_qqqq_,,,, _ssss_tttt_rrrr_uuuu_cccc_tttt _tttt______oooo_pppp_tttt_mmmm_gggg_mmmm_tttt _****_rrrr_eeee_tttt_))))_;;;; DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN The _tttt______oooo_pppp_tttt_mmmm_gggg_mmmm_tttt function enables a transport user to retrieve, verify, or negotiate protocol options with the transport provider. _ffff_dddd identifies a bound transport endpoint. The _rrrr_eeee_qqqq and _rrrr_eeee_tttt arguments point to a _tttt______oooo_pppp_tttt_mmmm_gggg_mmmm_tttt structure containing the following members: _ssss_tttt_rrrr_uuuu_cccc_tttt _nnnn_eeee_tttt_bbbb_uuuu_ffff _oooo_pppp_tttt_;;;; _llll_oooo_nnnn_gggg _ffff_llll_aaaa_gggg_ssss_;;;; The _oooo_pppp_tttt field identifies protocol options and the _ffff_llll_aaaa_gggg_ssss field is used to specify the action to take with those options. The options are represented by a _nnnn_eeee_tttt_bbbb_uuuu_ffff [see _iiii_nnnn_tttt_rrrr_oooo(3N); also for _llll_eeee_nnnn, _bbbb_uuuu_ffff, and _mmmm_aaaa_xxxx_llll_eeee_nnnn] structure in a manner similar to the address in _tttt______bbbb_iiii_nnnn_dddd. _rrrr_eeee_qqqq is used to request a specific action of the provider and to send options to the provider. _llll_eeee_nnnn specifies the number of bytes in the options, _bbbb_uuuu_ffff points to the options buffer, and _mmmm_aaaa_xxxx_llll_eeee_nnnn has no meaning for the _rrrr_eeee_qqqq argument. The transport provider may return options and flag values to the user through _rrrr_eeee_tttt. For _rrrr_eeee_tttt, _mmmm_aaaa_xxxx_llll_eeee_nnnn specifies the maximum size of the options buffer and _bbbb_uuuu_ffff points to the buffer where the options are to be placed. On return, _llll_eeee_nnnn specifies the number of bytes of options returned. _mmmm_aaaa_xxxx_llll_eeee_nnnn has no meaning for the _rrrr_eeee_qqqq argument, but must be set in the _rrrr_eeee_tttt argument to specify the maximum number of bytes the options buffer can hold. The actual structure and content of the options is imposed by the transport provider. The _ffff_llll_aaaa_gggg_ssss field of _rrrr_eeee_qqqq can specify one of the following actions: _TTTT______NNNN_EEEE_GGGG_OOOO_TTTT_IIII_AAAA_TTTT_EEEE This action enables the user to negotiate the values of the options specified in _rrrr_eeee_qqqq with the transport provider. The provider will evaluate the requested options and negotiate the values, returning the negotiated values through _rrrr_eeee_tttt. _TTTT______CCCC_HHHH_EEEE_CCCC_KKKK This action enables the user to verify whether the options specified in _rrrr_eeee_qqqq are supported by the transport provider. On return, the _ffff_llll_aaaa_gggg_ssss field of _rrrr_eeee_tttt will have either _TTTT______SSSS_UUUU_CCCC_CCCC_EEEE_SSSS_SSSS or _TTTT______FFFF_AAAA_IIII_LLLL_UUUU_RRRR_EEEE set to indicate to the user whether PPPPaaaaggggeeee 1111 tttt____ooooppppttttmmmmggggmmmmtttt((((3333NNNN)))) tttt____ooooppppttttmmmmggggmmmmtttt((((3333NNNN)))) the options are supported. These flags are only meaningful for the _TTTT______CCCC_HHHH_EEEE_CCCC_KKKK request. _TTTT______DDDD_EEEE_FFFF_AAAA_UUUU_LLLL_TTTT This action enables a user to retrieve the default options supported by the transport provider into the _oooo_pppp_tttt field of _rrrr_eeee_tttt. In _rrrr_eeee_qqqq, the _llll_eeee_nnnn field of _oooo_pppp_tttt must be zero and the _bbbb_uuuu_ffff field may be _NNNN_UUUU_LLLL_LLLL. _TTTT______CCCC_UUUU_RRRR_RRRR_EEEE_NNNN_TTTT If ______XXXX_OOOO_PPPP_EEEE_NNNN______SSSS_OOOO_UUUU_RRRR_CCCC_EEEE is defined, then this flag is supported. This action enables the transport user to retrieve the currently effective option values. The user specifies the options of interest in _rrrr_eeee_qqqq_----_>>>>_oooo_pppp_tttt_...._bbbb_uuuu_ffff. The option values are irrevelent and will be ignored; it is sufficient to specify the _tttt______oooo_pppp_tttt_hhhh_dddd_rrrr part of an option only. The currently effective values are then returned in _rrrr_eeee_tttt_---- _>>>>_oooo_pppp_tttt_...._bbbb_uuuu_ffff. If issued as part of the connectionless-mode service, _tttt______oooo_pppp_tttt_mmmm_gggg_mmmm_tttt may block due to flow control constraints. The function will not complete until the transport provider has processed all previously sent data units. This function resides within both the X/Open compliant _llll_iiii_bbbb_xxxx_nnnn_eeee_tttt and the SVR4 compliant _llll_iiii_bbbb_nnnn_ssss_llll Network Services libraries. Network Services applications which require X/Open compliance must link-load with _----_llll_xxxx_nnnn_eeee_tttt. Network Services applications which require SVR4 compliance must link- load with _----_llll_nnnn_ssss_llll. On failure, _tttt______eeee_rrrr_rrrr_nnnn_oooo may be set to one of the following: _TTTT_BBBB_AAAA_DDDD_FFFF The specified file descriptor does not refer to a transport endpoint. _TTTT_OOOO_UUUU_TTTT_SSSS_TTTT_AAAA_TTTT_EEEE The function was issued in the wrong sequence. _TTTT_AAAA_CCCC_CCCC_EEEE_SSSS The user does not have permission to negotiate the specified options. _TTTT_BBBB_AAAA_DDDD_OOOO_PPPP_TTTT The specified protocol options were in an incorrect format or contained illegal information. _TTTT_BBBB_AAAA_DDDD_FFFF_LLLL_AAAA_GGGG An invalid flag was specified. _TTTT_BBBB_UUUU_FFFF_OOOO_VVVV_FFFF_LLLL_WWWW There are two different conditions in which _TTTT_BBBB_UUUU_FFFF_OOOO_VVVV_FFFF_LLLL_WWWW will be returned. If ______XXXX_OOOO_PPPP_EEEE_NNNN______SSSS_OOOO_UUUU_RRRR_CCCC_EEEE is defined _aaaa_nnnn_dddd the number of bytes allocated for incoming data is _gggg_rrrr_eeee_aaaa_tttt_eeee_rrrr _tttt_hhhh_aaaa_nnnn _zzzz_eeee_rrrr_oooo _aaaa_nnnn_dddd is not sufficient to store the data. If ______XXXX_OOOO_PPPP_EEEE_NNNN______SSSS_OOOO_UUUU_RRRR_CCCC_EEEE is _nnnn_oooo_tttt defined and the number of bytes allocated for incoming data is not sufficient to store the data. The information to be returned in _rrrr_eeee_tttt will be discarded. PPPPaaaaggggeeee 2222 tttt____ooooppppttttmmmmggggmmmmtttt((((3333NNNN)))) tttt____ooooppppttttmmmmggggmmmmtttt((((3333NNNN)))) _TTTT_SSSS_YYYY_SSSS_EEEE_RRRR_RRRR A system error has occurred during execution of this function. SSSSEEEEEEEE AAAALLLLSSSSOOOO _iiii_nnnn_tttt_rrrr_oooo(3N), _tttt______aaaa_cccc_cccc_eeee_pppp_tttt(3N), _tttt______aaaa_llll_llll_oooo_cccc(3N), _tttt______cccc_oooo_nnnn_nnnn_eeee_cccc_tttt(3N), _tttt______gggg_eeee_tttt_iiii_nnnn_ffff_oooo(3N), _tttt______llll_iiii_ssss_tttt_eeee_nnnn(3N), _tttt______oooo_pppp_eeee_nnnn(3N), _tttt______rrrr_cccc_vvvv_cccc_oooo_nnnn_nnnn_eeee_cccc_tttt(3N) DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS _tttt______oooo_pppp_tttt_mmmm_gggg_mmmm_tttt returns 0 on success and -1 on failure and _tttt______eeee_rrrr_rrrr_nnnn_oooo is set to indicate the error. PPPPaaaaggggeeee 3333